// 用户

module.exports = app => {
    const { mongoose } = app;
    const { Schema } = mongoose;

    const schema = new Schema({
        phone: { type: String, required: true, unique: true, trim: true }, // 手机号
        realName: { type: String, trim: true, index: true }, // 真实姓名
        nickname: { type: String, default: '', index: true, trim: true }, // 昵称
        idCard: { type: String, unique: true, trim: true }, // 身份证号
        idCardImg: { type: String }, // 身份证照片路径
        password: { type: String, required: true, trim: true }, // 密码
        avatar: { type: String }, // 头像
        level: { type: Number, min: 0, max: 10, default: 0 }, // 等级
        integral: { type: Number, default: 0 }, // 积分
        kubi: { type: Number, default: 0 }, // 酷币
        activity: { type: Number, default: 0 }, // 活跃度
        tuTeng: { type: Number, default: 0 }, // 图腾
        redGem: { type: Number, default: 0 }, // 红宝石
        greenGem: { type: Number, default: 0 }, // 绿宝石
        blueGem: { type: Number, default: 0 }, // 蓝宝石
        mac: { type: String, required: true, unique: true, trim: true }, // mac地址
        referrer: { type: Schema.Types.ObjectId, ref: 'User' }, // 推荐人
        alipay: { type: String, default: '', unique: true }, // 支付宝账号
        payCode: { type: String, default: '' }, // 收款码图片路径
        status: { type: Number, default: 0 }, // 账号状态 0 -> 正常  5001 -> 冻结 5002 -> 封号
        meta: {
            createdAt: { type: Date, default: Date.now },
            updatedAt: { type: Date, default: Date.now }
        }
    });

    return mongoose.model('User', schema);
}